package com.hanamaki.ioTest;

import java.io.*;

/**
 * @author hanamaki
 * @version 1.0
 * @date 2021/6/29 16:26
 */
public class IoTest {
    //  UTF-8
//        properties
//        File
//        FileInputStream
//        FileOutputStream
    static FileOutputStream fileOutputStream;
    static FileInputStream fileInputStream;
    static OutputStreamWriter outputStreamWriter;
    static InputStreamReader inputStreamReader;

    public static void outPutFile() {
//      想要往外部输出文件 首先 有文件的路径
        try {
//            实例化得到文件 的输出流
            fileOutputStream = new FileOutputStream("d:/test.ini");
            fileOutputStream.write(new byte[]{1, 2, 3, 4, 5, 6, 7});
//            将文件输出 后，通过文件的输入流 来读取文件中的内容
            fileInputStream = new FileInputStream("d:/test.ini");
//            通过文件输入流 来 判断是否有下一个字节文件  如果有 就 取出
            int size = fileInputStream.available();
            for (int i = 0; i < size; i++) {
                System.out.println(fileInputStream.read());
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.getMessage();
        }finally {
//          处理善后 工作
//            在关闭 流的时候 一定要 从小到大
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    public static void outPutFileUTF8() {
//      想要往外部输出文件 首先 有文件的路径
        try {
//            实例化得到文件 的输出流
            fileOutputStream = new FileOutputStream("d:/text.ini");
//            初始化 输出流 对象
            outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
            outputStreamWriter.append("Hanamaki").append("中国");
            outputStreamWriter.close();
            fileOutputStream.close();


            fileInputStream = new FileInputStream("d:/text.ini");
//            读取文件内容设置字符编码
            inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
            StringBuffer buffer = new StringBuffer();
            while (inputStreamReader.ready()) {
                buffer.append((char) inputStreamReader.read());
            }
            System.out.println(buffer);
            inputStreamReader.close();
            fileInputStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.getMessage();
        }
    }
    public static void main(String[] args) {

//        outPutFile();
        outPutFileUTF8();

    }

}
